const fs = require('fs')

const Students = require('../handleData/students')

// 这样也不方便
// module.exports = (app) => {
//   app.get('/', function (req, res) {
//     fs.readFile('./db.json', 'utf-8', function (err, data) {
//       if (err) {
//         return res.status(500).send('server error')
//       }
//       res.render('index.html', {
//         business: ['支付', '外卖', '电商', '物流'],
//         students: JSON.parse(data).students // json转格式
//       })
//     })
//   })
// }
// Students.updateById({
//   id: 1,
//   name: '张小三',
//   hobbies: '当小三'
// }, (err) => {
//   if (err) {
//     return console.log('修改失败')
//   }
//   console.log('修改成功');

// })

// Express提供了一种更好的方式
// 专门用来包装路由

const express = require('express')

// 1、创建一个路由容器
const router = express.Router()

// 2、把路由挂载到Router路由器中
router.get('/', function (req, res) {
  // fs.readFile('json/db.json', 'utf-8', function (err, data) {
  //   if (err) {
  //     return res.status(500).send('server error...')
  //   }
  //   res.render('index.html', {
  //     business: ['支付', '外卖', '电商', '物流'],
  //     students: JSON.parse(data).students // json转格式
  //   })
  // })

  Students.find((err, students) => {
    if (err) {
      console.log(err);

      return res.status(500).send('server error...')
    }
    res.render('index.html', {
      business: ['支付', '外卖', '电商', '物流'],
      students: students
    })
  })
})

// 跳转到新增
router.get('/students/new', (req, res) => {
  res.render('new.html')
})

// 提交新增
router.post('/students/new', (req, res) => {
  // 1、获取表单数据 处理 发送相应
  // 2、将文件保存早db.JSON中 用于持久化
  // 3、先付取出来，专程对象 然后往对象中push数据，然后把对象转为字符串，然后把字符安川在此写入json文件
  console.log(req.body)
  Students.save(req.body, (err) => {
    if (err) {
      return res.ststus(500).send('Server error')
    }
    res.redirect('/')
  })

})

// 跳转到编辑
router.get('/students/edit', (req, res) => {
  Students.findById(parseInt(req.query.id), (err, student) => {
    if (err) {
      res.status(500).send('Server error')
    }
    res.render('edit.html', {
      student: student
    })
  })
})

// 提交编辑
router.post('/students/edit', (req, res) => {
  // console.log(req.body);
  Students.updateById(req.body, (err) => {
    if (err) {
      return res.ststus(500).send('Server error')
    }
    res.redirect('/')
  })
  
})

// 处理删除学生
router.get('/students/delete', (req, res) => {
  Students.deleteById(req.query.id, (err) => {
    if (err) {
      return res.ststus(500).send('server error')
    }
    res.redirect('/')
  })
})

// 3、把Router导出
module.exports = router